跳到主要内容

搬砖时应该掌握的matplotlib

熟练使用Matplotlib能够帮助你将研究内容可视化,加速你的研究进程。

matplotlibPython编程语言及其数值数学扩展包 NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, QtGTK+,向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似。SciPy就是用matplotlib进行图形绘制。

可以使用pip安装matplotlib:

pip install matplotlib

如果你的pip安装缓慢,请参阅附录中关于环境和包的部分,对pip进行换源。

大部分情况下我们使用matplotlib.pyplot进行图形的绘制。pyplot是matplotlib的一个模块,它提供了一个类似MATLAB的接口。 matplotlib被设计得用起来像MATLAB,具有使用Python的能力。免费是其优点。

你可以用matplot做到:

img

img

以上图片源自matplotlib的github的某个代码仓库

你可以在官方的例程中找到更多点子。在这里我们只介绍一些简单的功能。

绘制曲线图:

import matplotlib.pyplot as plt
import numpy as np
a = np.linspace(0,10,100)
b = np.exp(-a)
plt.plot(a,b)
plt.show()

Matplotlib basic v.svg

绘制直方图:

import matplotlib.pyplot as plt
from numpy.random import normal,rand
x = normal(size=200)
plt.hist(x,bins=30)
plt.show()

Matplotlib histogram v.svg

import matplotlib.pyplot as plt
from numpy.random import rand
a = rand(100)
b = rand(100)
plt.scatter(a,b)
plt.show()

Matplotlib scatter v.svg

三维曲面:

from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm)
plt.show()

Matplotlib 3d v.svg

深入学习请继续参考官方文档